Skip to content

0.5.10 - Capability targeting + lint scope extending #28

Merged
cleverhoods merged 30 commits into
mainfrom
0.5.10
May 19, 2026
Merged

0.5.10 - Capability targeting + lint scope extending #28
cleverhoods merged 30 commits into
mainfrom
0.5.10

Conversation

@cleverhoods
Copy link
Copy Markdown
Contributor

0.5.10

New

  • ails check <capability> lists targets with per-item scores; ails check <capability> <name> produces a focused report on one skill / rule / agent / etc. Capability
    vocabulary is read from the detected agent's config.
  • Capability-level read-out re-introduced as Level: L# <Label> in the scorecard. Re-aligned to the canonical ladder (System / Primer / Composite / Scoped / Delegated /
    Abstracted / Governed / Adaptive, L0–L7). Detection is cumulative — display is the highest level where all prior levels also pass. Read-out only; rule applicability
    unchanged.
  • Per-item health bars in capability listings — one bar per item, sorted worst-first, with (N: Xe/Yw/Zi) finding-count breakdown per row. Severity bands
    (red/yellow/green) chunked with blank lines.
  • Top rules (by finding count) block in the whole-repo scorecard; top_rules + capability focus envelope in -f json.
  • New rule CORE:S:0056 broken-markdown-link — validates [text](path) and [ref]: path targets resolve in freeform markdown.
  • Opt-in generic file class via Markdown link-reachability (generic_scanning: true) — classifier BFS-walks outgoing links and tags reached in-tree .md files as
    generic, cycle-safe, depth-bounded.
  • Per-agent memory entry locator covering Claude (~/.claude/projects/*/memory/, project + local agent-memory dirs) and Gemini (~/.gemini/tmp/*/memory/). ails check memory / ails check memories work end-to-end.

Changed

  • One unified check display. Capability args narrow the input subset; the standard renderer prints the same shape with fewer rows.
  • import-targets-resolve, import-depth-within-limit, broken-markdown-link raised to severity high — broken includes/links are functional context gaps, not
    stylistic warnings.
  • Score bars share a consistent dim-gray empty baseline; only the colored fill varies.
  • Surface-health row suppressed when only one surface has data (the top Score: already represents it).
  • Typed PlatformUnavailableError replaces silent fall-through on non-JSON auth-platform responses.
  • Explicit User-Agent: reporails-cli/<version> (auth) header on auth + platform requests for edge allow-listing.

Fixed

  • Mechanical-check glob targets honor .ails/config.yml: exclude_dirs — rules with hard-coded path: globs no longer scan excluded directories.
  • Mechanical violation attribution no longer falsely points to user-scope ~/.claude/CLAUDE.md when the project has no project-scope main. Skip rules +
    _classified_display gate the ~/ rendering on the classifier's precedence: user property (read from agent config patterns), not path-prefix heuristics.
  • CORE:S:0056 + the link walker strip fenced code blocks and inline code spans before extracting links — [text](path) inside backticks no longer false-positives.
  • Capability gates and L-level scoring no longer count user-scope ~/.claude/CLAUDE.md toward project file counts.
  • Directory-glob patterns (trailing slash) in agent configs now enumerate *.md inside matched dirs; project + local agent-memory files classify correctly to
    subagent_memory.
  • Mapper daemon stays attached across runs — socket-existence gate on PID, FIFO-only FD close (no more numpy/onnxruntime ImportError post-fork), SIGPIPE ignored. Warm
    ails check ~5.6s daemon-attached.
  • walk_glob follows symlinked directories during descendant traversal with cycle protection.
  • CORE:S:0024 + CORE:S:0056 now declare format: [freeform, frontmatter] so they fire on SKILL.md, agents/.md, rules/.md.
  • Gemini memory locator updated to current upstream model (~/.gemini/tmp/*/memory/); legacy ## Gemini Added Memories section removed.
  • ails check memory / memories enumerates ~/.claude/projects/<hash>/memory/ entries (glob path silently dropped ~/ patterns).

Removed

  • framework/registry/levels.yml and its schema — dead code, never read at runtime. LEVEL_CAPS is hardcoded in source.

Full changelog: CHANGELOG.md

… memory_locator, folds main/memories aliases

Refs #24
…in glob targets, project-scope attribution

Refs #26
…docs ladder; drop dead levels.yml + schema

Refs #23
@cleverhoods cleverhoods merged commit 852c3ef into main May 19, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant